package com.jymj.dao;

import com.jymj.entity.CjEntity;
import com.jymj.entity.KeyValueEntity;
import com.jymj.entity.dto.*;
import com.jymj.entity.enviorFile.QueryParamDto;
import com.jymj.entity.fhtnty.EnviorFileFhEntity;
import com.jymj.entity.fhtnty.HomeEntity;
import com.jymj.entity.fhtnty.ScoreFhEntity;
import com.jymj.entity.landmanage.*;
import com.jymj.entity.model.PointAndTypeEntity;
import com.jymj.entity.vo.ComplaintsVo;
import com.jymj.entity.vo.QuestionCount;
import com.jymj.entity.zjd.ZjdCountEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface EnviorSupvsDao extends BaseDao<PjEnviorSupvsEntity> {

    PjEnviorSupvsEntity queryBypoint(@Param("point") String point);

    List<KeyValueEntity> queryListByqutype();

    List<KeyValueEntity> oneMonthList();

    List<KeyValueEntity> threeMonthList();

    List<KeyValueEntity> sixMonthList();

    List<PjEnviorSupvsEntity> queryByYlPoint(String geometry);

    ZjdCountEntity queryAllCount(@Param("point") String point);

    List<KeyValueEntity> queryType(Map<String, Object> params);

    List<KeyValueEntity> queryByCun(CunZhenDto cunZhenDto);

    List<PointRecordEntity> queryPointList(PointPageDto pointPageDto);

    int queryPointTotal(Map<String, Object> params);

    Long savePoint(PointRecordEntity pointRecordEntity);

    void deletePoint(@Param("ids") Integer[] ids);

    PjEnviorSupvsEntity queryInfo(Integer id);

    void saveRejected(PjEnviorRejectedEntity pjEnviorRejectedEntity);

    void updateBh(PjEnviorSupvsEntity pjEnviorSupvsEntity);
    List<PjEnviorRejectedEntity> queryRej(Integer id);

    List<PjEnviorSupvsEntity> queryByCode (Map<String, Object> params);


//    void updateScore(@Param("score") long score, @Param("code") String code);

    Integer selectScoreByCode(@Param("code") String code );

    Integer selectScoreByListcode(@Param("codes")List<String> codes);

    ScoreFhEntity queryScore(String code);

    ScoreFhEntity qyeruScoreMon(String code);


    List<PjEnviorSupvsEntity> queryBygeom(String geome);

    HomeEntity queryHome(ReportDto reportDto);

    List<HomeEntity> queryHomeZhen(ReportDto reportDto);

    List<JournalEntity> queryJournal(@Param("date") String date,@Param("type") Integer type);

    List<JournalEntity> queryWts(@Param("date") String date,@Param("type") Integer type);

    List<JournalEntity> queryWtbz(@Param("date") String date,@Param("type") Integer type);

    List<RjhjReport> rjhjReport(ReportDto reportDto);

    ScoreReport scoreReport(String date);

    List<ScoreMonEntity> bhgcz(Map map);

    List<JournalEntity> queryDxwt(@Param("date") String date,@Param("type") Integer type);

    List<PjEnviorSupvsEntity> queryByXzqmc(Map map);

    void saveLog(PjEnviorSupvsLog pjEnviorSupvsLog);

    List<PjEnviorSupvsLog> enviorLog(String date);

    PjEnviorSupvsEntity queryHjpj(String point);

    List<EnviorSmsEntity> querySms();

    String[] queryPhone(String code);

    KeyValueEntity countByCode(EnviorSupvsListDto enviorSupvsDto);

    void updatePoint(PointRecordEntity pointRecordEntity);

    Integer fallBackQutype(@Param("id") Integer id,@Param("qutype") Integer qutype,
                          @Param("comment") String comment);

    PointRecordEntity queryPointInfo(Integer gddwid);

    List<PjEnviorSupvsEntity> getXzqmcByDate(QueryParamDto queryParamDto);

    List<KeyValueEntity> queryByZhen(CunZhenDto cunZhenDto);

    List<EnviorFileFhEntity> getEnviorsByxy1(PointAndTypeEntity pointAndTypeEntity);

    List<EnviorFileFhEntity> getEnviorsByxy2(PointAndTypeEntity pointAndTypeEntity);

    List<EnviorFileFhEntity> getEnviorsByxy3(PointAndTypeEntity pointAndTypeEntity);

    List<EnviorFileFhEntity> getEnviorsByxy4(PointAndTypeEntity pointAndTypeEntity);

    List<EnviorSmsEntity> querySmsByZhen();

    String[] queryPhoneByZhen(String code);

    PointRecordEntity queryByPoint(String point);

    List<PjEnviorSupvsEntity> queryById(Integer gddwid);

    List<PjEnviorSupvsEntity> queryByGddwid(Integer gddwid);

    List<PjEnviorSupvsEntity> queryByXzq(String point);

    List<PjEnviorSupvsEntity> queryListByIds(@Param("ids") Integer[] ids);

    int updateQutype(PjEnviorSupvsEntity pjEnviorSupvsEntity);

    void updateCount3();

    QuestionCount getQuestionCount();

    List<PjEnviorSupvsEntity> getfile();

    List<ComplaintsVo> getZgqk();

    List<KeyValueEntity> queryByDj(CunZhenDto cunZhenDto);

    List<PjEnviorSupvsEntity> quertFile7();

    CjEntity queryCode(String code);

    List<RjhjReport> rjhjReportZhen(ReportDto reportDto);

    EnviorSmsEntity queryCount(@Param("code") String code);
}
